package com.zone.service.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zone.common.core.annotation.Excel;
import com.zone.common.core.web.domain.BaseEntity;

/**
 * 款箱信息对象 zone_box_info
 * 
 * @author liuyang
 * @date 2025-10-31
 */
public class BoxInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID，自增 */
    private Long id;

    /** 款箱编号 */
    @Excel(name = "款箱编号")
    private String boxId;

    /** 箱号 */
    @Excel(name = "箱号")
    private String boxNo;

    /** 款箱类型 */
    @Excel(name = "款箱类型")
    private Long boxTypeId;

    /** 品牌 */
    @Excel(name = "品牌")
    private String boxBrand;

    /** 所属网点id */
    @Excel(name = "所属网点id")
    private Long bankId;

    /** 机构id */
    @Excel(name = "机构id")
    private Long orgId;

    /** 清分地 */
    @Excel(name = "清分地")
    private String clearingPos;

    /** 当前位置 */
    @Excel(name = "当前位置")
    private String currentPos;

    /** 款箱状态 */
    @Excel(name = "款箱状态")
    private String status;

    /** 条码状态 */
    @Excel(name = "条码状态")
    private String barcodeStatus;

    /** 条码（含二维码）状态 */
    @Excel(name = "条码", readConverterExp = "含=二维码")
    private String qrcodeStatus;

    /** 打印时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "打印时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date printTime;

    /** 钞箱状态变更时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "钞箱状态变更时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date statusChangeTime;

    /** 出金库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出金库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outOfVaultTime;

    /** 入网点时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入网点时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inBankTime;

    /** 出网点时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出网点时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outOfBankTime;

    /** 入金库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入金库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inVaultTime;

    /** 在库状态 */
    @Excel(name = "在库状态")
    private String inoutStatus;

    /** 是否转换 */
    @Excel(name = "是否转换")
    private String isTransfer;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setBoxId(String boxId) 
    {
        this.boxId = boxId;
    }

    public String getBoxId() 
    {
        return boxId;
    }

    public void setBoxNo(String boxNo) 
    {
        this.boxNo = boxNo;
    }

    public String getBoxNo() 
    {
        return boxNo;
    }

    public void setBoxTypeId(Long boxTypeId) 
    {
        this.boxTypeId = boxTypeId;
    }

    public Long getBoxTypeId() 
    {
        return boxTypeId;
    }

    public void setBoxBrand(String boxBrand) 
    {
        this.boxBrand = boxBrand;
    }

    public String getBoxBrand() 
    {
        return boxBrand;
    }

    public void setBankId(Long bankId) 
    {
        this.bankId = bankId;
    }

    public Long getBankId() 
    {
        return bankId;
    }

    public void setOrgId(Long orgId) 
    {
        this.orgId = orgId;
    }

    public Long getOrgId() 
    {
        return orgId;
    }

    public void setClearingPos(String clearingPos) 
    {
        this.clearingPos = clearingPos;
    }

    public String getClearingPos() 
    {
        return clearingPos;
    }

    public void setCurrentPos(String currentPos) 
    {
        this.currentPos = currentPos;
    }

    public String getCurrentPos() 
    {
        return currentPos;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setBarcodeStatus(String barcodeStatus) 
    {
        this.barcodeStatus = barcodeStatus;
    }

    public String getBarcodeStatus() 
    {
        return barcodeStatus;
    }

    public void setQrcodeStatus(String qrcodeStatus) 
    {
        this.qrcodeStatus = qrcodeStatus;
    }

    public String getQrcodeStatus() 
    {
        return qrcodeStatus;
    }

    public void setPrintTime(Date printTime) 
    {
        this.printTime = printTime;
    }

    public Date getPrintTime() 
    {
        return printTime;
    }

    public void setStatusChangeTime(Date statusChangeTime) 
    {
        this.statusChangeTime = statusChangeTime;
    }

    public Date getStatusChangeTime() 
    {
        return statusChangeTime;
    }

    public void setOutOfVaultTime(Date outOfVaultTime) 
    {
        this.outOfVaultTime = outOfVaultTime;
    }

    public Date getOutOfVaultTime() 
    {
        return outOfVaultTime;
    }

    public void setInBankTime(Date inBankTime) 
    {
        this.inBankTime = inBankTime;
    }

    public Date getInBankTime() 
    {
        return inBankTime;
    }

    public void setOutOfBankTime(Date outOfBankTime) 
    {
        this.outOfBankTime = outOfBankTime;
    }

    public Date getOutOfBankTime() 
    {
        return outOfBankTime;
    }

    public void setInVaultTime(Date inVaultTime) 
    {
        this.inVaultTime = inVaultTime;
    }

    public Date getInVaultTime() 
    {
        return inVaultTime;
    }

    public void setInoutStatus(String inoutStatus) 
    {
        this.inoutStatus = inoutStatus;
    }

    public String getInoutStatus() 
    {
        return inoutStatus;
    }

    public void setIsTransfer(String isTransfer) 
    {
        this.isTransfer = isTransfer;
    }

    public String getIsTransfer() 
    {
        return isTransfer;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("boxId", getBoxId())
            .append("boxNo", getBoxNo())
            .append("boxTypeId", getBoxTypeId())
            .append("boxBrand", getBoxBrand())
            .append("bankId", getBankId())
            .append("orgId", getOrgId())
            .append("clearingPos", getClearingPos())
            .append("currentPos", getCurrentPos())
            .append("status", getStatus())
            .append("barcodeStatus", getBarcodeStatus())
            .append("qrcodeStatus", getQrcodeStatus())
            .append("printTime", getPrintTime())
            .append("statusChangeTime", getStatusChangeTime())
            .append("outOfVaultTime", getOutOfVaultTime())
            .append("inBankTime", getInBankTime())
            .append("outOfBankTime", getOutOfBankTime())
            .append("inVaultTime", getInVaultTime())
            .append("inoutStatus", getInoutStatus())
            .append("isTransfer", getIsTransfer())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
